﻿# -*- codeing = utf-8 -*-
# @Time: 2021/10/24 21:23
# @Author: Ivan
# @File: 18-单例.py
# @Software: PyCharm

class Player(object):
    # 定义单例对象
    instance = None
    # 记录初始化方法是否执行
    init_flag = False

    # __new__()分配空间
    def __new__(cls, *args, **kwargs):
        # 判断类属性是否有值
        if cls.instance is None:
            cls.instance = super().__new__(cls)
        # 返回单例音引用
        return cls.instance

    # __init__()对象初始化
    def __init__(self):
        # 判断初始化方法是否执行
        if Player.init_flag:
            return
        # 没有执行初始化方法，则进行初始化
        print('初始化播放器')
        # 修改标志
        Player.init_flag = True


p1 = Player()
p2 = Player()

print(p1)
print(p2)
